Use .cloned() where appropriate
authormcarton <cartonmartin+git@gmail.com>
Fri, 15 Jan 2016 16:50:46 +0000 (17:50 +0100)
committermcarton <cartonmartin+git@gmail.com>
Sat, 16 Jan 2016 12:02:26 +0000 (13:02 +0100)
Fix most of Clippy’s map_clone warnings.

src/cargo/core/registry.rs
src/cargo/ops/cargo_rustc/context.rs
src/cargo/ops/resolve.rs
src/cargo/sources/path.rs
src/cargo/util/errors.rs
src/cargo/util/graph.rs

index 60a82d300882ef01232ae96482ae7d9c9d892750..fc994aeaf5747f2293e1ed41cc12161b04650072 100644 (file)
@@ -15,7 +15,7 @@ pub trait Registry {
 impl Registry for Vec<Summary> {
     fn query(&mut self, dep: &Dependency) -> CargoResult<Vec<Summary>> {
         Ok(self.iter().filter(|summary| dep.matches(*summary))
-               .map(|summary| summary.clone()).collect())
+               .cloned().collect())
     }
 }
 
index 73bb2ec41ff55de4279bc05755be34700f944e51..120efd7c170a424cfef2822dfd5da9033347ab21 100644 (file)
@@ -213,7 +213,7 @@ impl<'a, 'cfg> Context<'a, 'cfg> {
         if unit.target.is_lib() && unit.profile.test {
             // Libs and their tests are built in parallel, so we need to make
             // sure that their metadata is different.
-            metadata.map(|m| m.clone()).map(|mut m| {
+            metadata.cloned().map(|mut m| {
                 m.mix(&"test");
                 m
             })
@@ -232,7 +232,7 @@ impl<'a, 'cfg> Context<'a, 'cfg> {
             // file names like `target/debug/libfoo.{a,so,rlib}` and such.
             None
         } else {
-            metadata.map(|m| m.clone())
+            metadata.cloned()
         }
     }
 
index f1dbb0f8154b3a616d95dbca5398274b44c12d50..3822c8013404fb814c8ce608fb0368c094344751 100644 (file)
@@ -89,7 +89,7 @@ pub fn resolve_with_previous<'a>(registry: &mut PackageRegistry,
             for node in r.iter().filter(|p| keep(p, to_avoid, &to_avoid_sources)) {
                 let deps = r.deps(node).into_iter().flat_map(|i| i)
                             .filter(|p| keep(p, to_avoid, &to_avoid_sources))
-                            .map(|p| p.clone()).collect();
+                            .cloned().collect();
                 registry.register_lock(node.clone(), deps);
             }
 
index a6f5aede46db52f66815aa0c781569947a8aae4e..206a9f0a400d7a7f6a21af6094735498b61148bd 100644 (file)
@@ -312,7 +312,7 @@ impl<'cfg> Source for PathSource<'cfg> {
 
         Ok(self.packages.iter()
            .filter(|pkg| ids.iter().any(|id| pkg.package_id() == id))
-           .map(|pkg| pkg.clone())
+           .cloned()
            .collect())
     }
 
index ef2fdeda56651c8cbb5c389e5e8db99ba71771f1..fbe1630d10b167558dff3a46c99c9b4e69847fcb 100644 (file)
@@ -360,8 +360,8 @@ pub fn process_error(msg: &str,
 
     ProcessError {
         desc: desc,
-        exit: status.map(|a| a.clone()),
-        output: output.map(|a| a.clone()),
+        exit: status.cloned(),
+        output: output.cloned(),
         cause: cause,
     }
 }
index c6e5024ced8ea354bfc0705669f09da848e47538..cc0414f6188cde0d405271f0bda85767b3416bb8 100644 (file)
@@ -21,7 +21,7 @@ impl<N: Eq + Hash + Clone> Graph<N> {
     }
 
     pub fn add(&mut self, node: N, children: &[N]) {
-        self.nodes.insert(node, children.iter().map(|n| n.clone()).collect());
+        self.nodes.insert(node, children.iter().cloned().collect());
     }
 
     pub fn link(&mut self, node: N, child: N) {